Міністерство освіти і науки, молоді та спорту України
Прикарпатський національний університет
імені Василя Стефаника
Кафедра радіофізики і електроніки
Лабораторна робота №1
Вивчення будови та принципів роботи
восьмирозрядного мікропроцесора КР580ВМ80 (Intel 8080).
Івано-Франківськ – 2011
1. Мета роботи
Вивчити основні функціональні вузли восьмирозрядного мікропроцесора, послідовність виконання ним команд програми, навчитися користуватися програмою - емулятором мікропроцесорної системи на базі КР580ВМ80.
2. Обладнання
Програма - емулятор мікропроцесорної системи на базі одно-кристального КР580ВМ80.
3. Короткі відомості з теорії
3.1. Внутрішня будова мікропроцесора.
Мікропроцесор складається з таких основних частин (Мал.1):
Малюнок 1. структурна схема мікропроцесора КР580ВМ80.
- арифметико-логічний пристрій (АЛП) з регістром А (акумулятор);
- блок регістрів загального призначення (РЗП) зі схемою вибірки;
- регістр команд з дешифратором команд і формувачем машинних циклів;
- лічильник команд (РС – program counter)
- регістр стекової області (SP – stack pointer - вказівник стеку);
- регістр стану (прапорцевий регістр);
- регістри тимчасового зберігання даних (РТЗД) W та Z;
- схема приросту та зменшення (СПЗ);
- пристрій керування та синхронізації.
Буфери шини даних (БШД) та адреси (БША) є додатковими блоками, які обслуговують мікропроцесор, хоча і не входять до його складу.
Число, призначення регістрів, прапорців та команд користувач змінити не може. Він може міняти тільки значення регістрів та використовувати команди в будь-якій, необхідній йому, комбінації.
Регістр – це спеціальний запам’ятовуючий пристрій, який складається з лінійки тригерів і може запам’ятовувати декілька біт інформації одночасно. Більшість регістрів мікропроцесора 8-розрядні, деякі (PC, SP) - 16-розрядні. Всі регістри розбиті на групи і відрізняються різним функціональним призначенням.
Доступними програмісту є такі регістри:
- шість 8-розрядних регістрів, до яких можна звертатися поодинці або парами (регістри B і C, D і E, H і L);
- 8-розрядний акумулятор А;
- 16-розрядні регістри PC (лічильник команд) та SP (вказівник стеку).
В деяких спеціальних випадках можуть бути доступними дані регістра команд (8 розрядів) та регістр стану (5 розрядів). Програмно недоступними є регістри тимчасового зберігання даних W та Z.
Регістри загального призначення. Ці регістри розміром в 1 байт позначаються B, C, D, E, H, L. Вони використовуються для зберігання даних та проміжних результатів обчислень, які виконуються за допомогою арифметико-логічного пристрою. Під час роботи з 16-розрядними числами можна звертатися до пар регістрів (B,C), (D,E), (H,L).
Акумулятор – спеціальний однобайтовий регістр, який позначається А. Під час виконання арифметичних чи логічних операцій він є джерелом одного з операндів та місцем запам’ятовування результату виконання операції. Акумулятор є основною операційною ланкою арифметико-логічного пристрою. Він використовується також в якості місця зберігання даних та результатів операцій, які виконуються в АЛП.
Регістр команд – однобайтовий регістр, в якому знаходиться код команди, яка виконується. Цей регістр безпосередньо користувачу недоступний. Це не означає, однак, що не існує команди, яка б могла явним чином змінити його значення. Після виконання чергової команди в регістр команд автоматично записується код наступної команди із комірки оперативної пам’яті, адреса якої знаходиться в лічильнику команд (PC).
Лічильник команд (PC) – двобайтовий (16-розрядний) регістр, який часом іще називають програмним лічильником. Цей регістр містить адресу команди, яка повинна виконуватися наступною. Лічильник команд автоматично отримує приріст адреси, яку містить в залежності від того, яку по тривалості команду (одно-, дво-, чи трибайтову) мікропроцесор зчитує з пам’яті, вказуючи завжди на 1-й байт наступної команди. На зміст цього регістру користувач може вплинути тільки за допомогою команд, які змінюють послідовне виконання програми (наприклад, ком...